package main

import (
	"fmt"
	"time"
)

// 在 Go 里，无需修改现有顺序式的代码，就可以通过 goroutine 以并发的方式运行任意数量的任务
// 只需在调用前面加一个 go 关键字
// 启动 goroutine
func main() {
	// 开启分支线路
	go sleepyGopher()
	// 主线路
	// main函数执行结束的话 所有 goroutine 都会立即停止，不管其是否运行完毕
	// 所以 main 函数等待的时长要比 goroutine要长
	fmt.Println("等待4秒")
	time.Sleep(4 * time.Second)
	fmt.Println("... 2 ...")

}

func sleepyGopher() {
	fmt.Println("等待3秒")
	time.Sleep(3 * time.Second)
	fmt.Println("... snore ...")
}
